import http from "@/http";
import {
  User,
  UserListParams,
  LoginParams,
  ChangePasswordParams,
} from "./userModel"; // 确保 UserModel 中有 User 类型定义

// 添加管理员用户接口
// 对应后端 @RequestMapping("/api/sysUser")
export const addAdminUserApi = (param: User) => {
  // 发送 POST 请求到 "/api/sysUser"，将用户数据作为请求体发送。
  // 返回值是一个 Promise，通常包含后端返回的响应数据。
  return http.post("/api/sysUser", param);
};

// 列表查询管理员用户接口
export const queryAdminUserListApi = (param: UserListParams) => {
  // 发送 GET 请求到 "/api/sysUser/getList"，将查询参数附加到 URL 中。
  return http.get("/api/sysUser/getList", param);
};

// 编辑管理员用户接口
export const editAdminUserApi = (param: User) => {
  // 发送 PUT 请求到 "/api/sysUser"，将用户数据作为请求体发送。
  return http.put(`/api/sysUser`, param);
};

// 删除管理员用户接口
export const deleteAdminUserApi = (userId: string) => {
  // 发送 DELETE 请求到 "/api/sysUser/{userId}"，将用户 ID 作为路径参数。
  return http.delete(`/api/sysUser/${userId}`);
};

// 验证码
export const getCaptchaApi = () => {
  return http.post("/api/sysUser/captcha");
};

// 登录
export const loginApi = (param: LoginParams) => {
  return http.post("/api/sysUser/login", param);
};

// 修改密码
export const ChangePasswordApi = (param: ChangePasswordParams) => {
  return http.put(`/api/sysUser/changePassword`, param);
};
